![]() ホスト書き込み動作とキャッシュフラッシングとのバランスをとるための方法およびシステム
专利摘要:
ホスト書き込み動作とキャッシュフラッシングとのバランスをとるための方法およびシステムが開示される。この方法は、自己キャッシング記憶装置のキャッシュ記憶部の使用可能な容量を決定するステップと、使用可能な容量が所望のしきい値よりも小さい場合にホスト書き込みコマンドに対するキャッシュフラッシングステップの比率を決定するステップと、その比率を達成するためにキャッシュフラッシングステップとホスト書き込みコマンドとをインタリーブするステップと、を含んでいてもよい。キャッシュフラッシングステップは、ホスト書き込みコマンドを実行した後に記憶装置ビジー状態を維持し、この追加の時間を利用してキャッシュ記憶から主記憶にデータの一部をコピーすることによって実行されてもよい。このシステムは、キャッシュ記憶と、主記憶と、ホスト書き込みコマンド後にビジー状態を維持しながらキャッシュフラッシングステップを実行することによって、ホスト書き込みコマンドに対するキャッシュフラッシングステップの比率を決定して実行するように構成されるコントローラと、を含んでいてもよい。 公开号:JP2011508347A 申请号:JP2010540753 申请日:2008-12-10 公开日:2011-03-10 发明作者:アフリア,イツァーク;シュリック,マーク;ラッセル,メナヘム;リーバー,オファー 申请人:サンディスク アイエル リミテッド; IPC主号:G06F12-12
专利说明:
[0001] 本発明は、フラッシュメモリなどの不揮発性メモリシステムでの、ホスト書き込み動作とキャッシュフラッシングとのバランスをとるための方法およびシステムに関する。] 背景技術 [0002] フラッシュメモリなどの不揮発性メモリシステムは、消費者製品用に広く採用されてきた。フラッシュメモリは、様々な形態で、例えば、ホスト装置間で持ち運びできる携帯用メモリカードの形態で、あるいは、ホスト装置に組み込まれるソリッドステートディスク(SSD)として見ることもできる。フラッシュメモリで見られる2つの一般的なメモリセルアーキテクチャには、NORとNANDとが含まれる。一般的なNORアーキテクチャでは、メモリセルは、列方向に延びる隣接するビット線のソース拡散とドレイン拡散との間に接続され、コントロールゲートは、セルの行に沿って延びるワード線に接続される。メモリセルは、ソースとドレインとの間のセルチャネル領域の少なくとも一部の上に位置する少なくとも1つの記憶素子を含む。したがって、記憶素子上のプログラムされたレベルの電荷はセルの動作特性を制御し、次いでアドレス指定されるメモリセルに適切な電圧を印加することによって読み出すことができる。] [0003] 一般的なNANDアーキテクチャは、セルの列を形成するように個々のビット線と基準電位との間に1つ以上の選択トランジスタとともに接続される、16個または32個などの3つ以上直列に接続されるメモリセルのストリングを利用する。ワード線は、これらの列の多くの中のセルを横切るように延びる。列の中の個々のセルは、ストリングを通って流れる電流がアドレス指定されるセルに蓄積される電荷のレベルに依存するように、ストリング内の残りのセルをオンさせることによって、プログラミング中に読み出されベリファイされる。] [0004] フラッシュメモリ管理システムの中には、自己キャッシングアーキテクチャを利用しているものがある。このアーキテクチャでは、ホストから受信されたデータをまずキャッシュとして指定されるフラッシュメモリの一部に記憶し、その後で主記憶領域として指定されるフラッシュメモリの一部にこれをコピーする。この種類のフラッシュメモリ管理システムでは、キャッシュフラッシング動作をスケジュールするタイミングが問題である。キャッシュフラッシング動作では、キャッシュ内のデータの一部、一般に、共通論理ブロックに対応するデータをキャッシュから主記憶領域にコピーした後にキャッシュから削除してキャッシュに新しい入力データのための場所を空ける。本願明細書で使用される用語のキャッシュフラッシングとキャッシュクリアリングとは同じ意味である。] [0005] 自己キャッシングフラッシュメモリ管理システムは、キャッシュフラッシング動作のスケジューリングおよびフラッシュされる特定データの選択に関して異なるポリシーを用いてもよい。一般に、スケジューリングの決定に影響を及ぼす要因は、キャッシュの満杯度およびサービスをする必要があるホストから届くアクセス要求があるかどうかである。記憶システムがホスト要求に関してアイドル状態の場合、一般に、フラッシュメモリ管理システムは、キャッシュが可能性のある今後のホスト動作の急増に対して充分に準備されるようにキャッシュ内のすべてのデータをフラッシュする。] [0006] 一般に、自己キャッシュ記憶装置の書き込み性能は、2つの数字によって規定される。第1の数字は、バースト書き込み性能である。バースト書き込み性能は、キャッシュ内に充分な空きがある場合に記憶装置がデータの入力ストリームを吸収することができる速度である。したがって、バースト書き込み性能は、キャッシュの書き込み性能のみに依存し、主記憶領域の書き込み性能には依存しない。第2の数字は、連続書き込み性能である。連続書き込み性能は、記憶装置がキャッシュサイズよりもずっと大きい入力データのストリームを吸収することができる速度である。連続書き込み性能は、キャッシュ書き込み性能と主記憶領域書き込み性能との両方の関数である。主記憶領域がキャッシュよりもずっと遅い場合には、連続書き込み性能は、主に主記憶領域書き込み性能によって決まる。] [0007] 記憶装置がある所与の連続入力速度に規定されていても、ホストが記憶装置内に規定よりも速い速度でデータを送信することを止めさせるものは何もなく、記憶装置に依存して、記憶装置がその速度を保つことができない場合には入力ストリームを遅延させる「ビジー(busy)」条件を発生し、そして、より多くの入力を受信することができるようになった場合にはビジー状態を解除したりする。これはまさに実際のホストが何台稼動しているかである。ホストは、書き込まれるデータを記憶装置にできるだけ速く送信し、記憶装置がそれを止めさせて待機させるまで送信し続ける。] [0008] このようなパターンの動作に続いて、一般的に観測される効果は以下のようである。記憶装置のキャッシュが空で始まるとすると、ホストはまずバースト書き込み性能と等しい高い性能を認識する。キャッシュは次第に満たされるが、キャッシュが満杯になるかそれにかなり近くなる時点まで性能は依然としてバースト性能の状態である。この時点で、記憶装置は、ビジー状態を発生させ、一部のコンテンツを主記憶領域に移動させることによってキャッシュ内の空間をクリアし始める必要がある。一般に、ビジー状態は、全論理ブロックに対応するデータがキャッシュからコピーされて初めてクリアされる。その結果、ホストは、主記憶が低速でブロックが大きい場合には、十分の何秒か数秒もあり得る相対的に長いビジー期間に遭遇することもある。ホストから見た平均性能は依然として公示される連続書き込み性能速度規格の範囲内かもしれないが、一部のホストはこのように長いビジー期間に対応することができないこともある。その理由は、長いビジー期間によって、ビジー期間中に最悪の状態で生成されることもある新しいデータをすべて蓄積するための大きなバッファがホストに必要となるためである。] [0009] 幾つかのキャッシュの実施例では、キャッシュの空きが少なくなるに従ってデータをキャッシュからクリアする実効速度が低下することがあるために、この問題はさらに深刻化することもある。ホストが連続的ではなくてランダムなアドレスにデータを書き込む場合や、キャッシュが多くのデータページを含む大きなブロックに編成されるフラッシュメモリを使用している場合にこの問題が発生することもある。このような装置では、キャッシュが満杯状態に近い状態で連続的に動作している場合に、ビジー期間が長くなるだけでなく連続書き込み性能も満足されないこともある。] [0010] 一部の例では、記憶装置がビジー状態を示すこともできる時間上の厳しい制約も存在し、この制約を破るとホストが処理を停止することもある。例えば、フラッシュメモリのセキュアデジタル(SD)規格には、250ミリ秒以内にホスト書き込みコマンドに必ず応答するSD準拠カードが必要である。カードがこの厳しい時間制約を満足しない場合には、ホストはカードとの通信セッションを終了してデータ記憶動作を停止することもある。したがって、「常時フルキャッシュ(always full cache)」モードの動作に入ることによって、この時間制約を破るリスクが大幅に増加する可能性がある。] [0011] 一般に、キャッシュ付き記憶装置はデータをフラッシュするためのポリシーを使用するが、このポリシーでは、データが2つの条件のうちの1つの条件でキャッシュからフラッシュされる。第1の条件は、記憶装置がアイドル状態の場合であり、ホストからデータを受信しない、あるいは逆にホストによってアクセスされない場合に記憶装置はアイドルとして定義される。第2の条件は、キャッシュにこれ以上空きがないために新しいデータを受信する方法が他にない場合である。このようなキャッシュフラッシングポリシーは、前述した問題をもたらす可能性がある。キャッシュ付き記憶装置の中には、フラッシュ動作に対する明示的制御をホストに提供するものがあるが、ホストがキャッシュ動作に対してこのような制御を利用して前述した問題を回避するのは困難である。ホストがそうするためには、記憶装置の内部についての詳細な知識および理解が必要となり、これは一般的なホストが有しない情報である。] 先行技術 [0012] 米国特許第5,930,167号 米国特許出願第11/318,906号 米国特許第5,937,425号 米国特許第6,678,785号 米国特許出願第11/876,893号] [0013] 前述した問題に対処するために、ホスト書き込み動作とキャッシュフラッシングとのバランスをとるための方法およびシステムが開示される。 本発明の第1の態様によれば、書き込みコマンドで外部ホストから受信される受信データが、最初にキャッシュ記憶に記憶された後で主記憶に移動される、記憶装置におけるキャッシュ記憶から主記憶へのデータの移動を管理する方法が開示される。この方法は、記憶装置でホストから書き込みコマンドを受信するステップと、書き込みコマンドとともに受信されるデータをキャッシュ記憶に記憶するステップと、書き込みコマンドを受信した後に記憶装置でビシー状態を生成するステップと、を含む。この方法は、キャッシュ記憶にデータを記憶するステップに続いて、ビジー状態を維持しながらデータの少なくとも一部をキャッシュ記憶から主記憶にコピーするステップであって、コピーするステップが開始されるときに次の書き込みコマンドでホストからデータを受信するキャッシュに充分な使用可能な容量が存在するようにしたステップと、をさらに含む。] [0014] 別の態様によれば、書き込みコマンドで外部ホストから受信される受信データが、最初にキャッシュ記憶に記憶された後で主記憶に移動される、記憶装置におけるキャッシュ記憶から主記憶へのデータの移動を管理する方法が開示される。この方法は、キャッシュ記憶の使用可能な容量を検出するステップと、検出されたキャッシュ記憶の使用可能な容量に基づいてホスト書き込みコマンドに対するキャッシュクリアリングステップの比率を決定するステップと、を含む。決定された比率を達成するために、キャッシュクリアリングステップは、ホスト書き込みコマンドの実行とインタリーブされる。キャッシュクリアリングステップの実行は、ホスト書き込みコマンドを実行するのに充分な時間より長い期間、ホスト書き込みコマンドによってトリガされ記憶装置で生成されるビジー状態を維持するステップと、この期間にキャッシュ記憶から主記憶にデータをコピーするステップと、を含む。] [0015] さらに別の態様では、記憶装置でキャッシュ記憶から主記憶へのデータの移動を管理する方法は、キャッシュ記憶の使用可能な容量を検出するステップと、次いで検出された使用可能な容量に基づいてホストコマンドに対するキャッシュクリアリングステップの比率を決定するステップと、を含む。決定されたホストコマンドに対するキャッシュクリアリングステップの比率を達成するために、キャッシュクリアリングステップは、ホストコマンドの実行とインタリーブされる。キャッシュクリアリングステップの実行は、ホストコマンドを実行するのに充分な時間より長い期間、記憶装置で生成されホストコマンドによってトリガされるビジー状態を維持するステップと、この期間にキャッシュ記憶から主記憶にデータの少なくとも一部をコピーするステップと、を含む。] [0016] 本発明の別の態様では、記憶装置は、ホスト書き込みコマンドに関連するデータを受信するように構成されるキャッシュ記憶と、キャッシュ記憶と通信しキャッシュ記憶から転送されるデータを受信するように構成される主記憶と、キャッシュ記憶から主記憶へのデータの転送を管理するように配置されるコントローラと、を備える。コントローラは、ホスト書き込みコマンドを受信した後にビジー状態を生成し、ホスト書き込みコマンドとともに受信されるデータをキャッシュ記憶に書き込んだ後で、ビジー状態を維持しながらキャッシュ記憶から主記憶へデータの少なくとも一部をコピーし、コピーが開始されるときに次の書き込みコマンドでホストからデータを受信するキャッシュ記憶に充分な使用可能な容量が存在するように構成される。] [0017] 本発明の別の態様では、データをホストから受信するように構成されるキャッシュ記憶と、キャッシュ記憶と通信しキャッシュ記憶から転送されるデータを受信するように構成される主記憶と、キャッシュ記憶から主記憶へのデータの転送を管理するように配置されるコントローラと、を備える記憶装置が開示される。コントローラは、キャッシュ記憶の使用可能な容量が、ホストからデータを受信する最小容量よりも大きく、所望のしきい値容量よりも小さいかどうかを検出するようにさらに構成される。コントローラは、検出された使用可能な容量に基づいてホストコマンドに対するキャッシュクリアリングステップの比率を決定し、次いで決定されたホストコマンドに対するキャッシュクリアリングステップの比率を達成するために、キャッシュクリアリングステップの実行をホストコマンドの実行とインタリーブするようにさらに構成される。キャッシュクリアリングステップの実行は、ホストコマンドを実行するのに充分な時間より長い期間、記憶装置で生成されホストコマンドによってトリガされるビジー状態を維持することと、この期間にキャッシュ記憶から主記憶にデータをコピーすることとを含む。] [0018] 別の態様によれば、自己キャッシング記憶装置においてホストコマンドの実行とキャッシュクリアリングとのバランスをとるためのプロセッサ実行可能命令を含むプロセッサ読み出し可能媒体が開示される。プロセッサ実行可能命令は、キャッシュ記憶の使用可能容量を検出し、検出された使用可能容量に基づいてホストコマンドに対するキャッシュクリアリングステップの比率を決定し、決定されたホストコマンドに対するキャッシュクリアリングステップの比率を達成するために、キャッシュクリアリングステップの実行をホストコマンドの実行とインタリーブする動作をプロセッサに実施させるように構成される。キャッシュクリアリングステップの実行は、ホストコマンドを実行するのに充分な時間より長い期間、記憶装置で生成されホストコマンドによってトリガされるビジー状態を維持することと、この期間にキャッシュ記憶から主記憶にデータの少なくとも一部をコピーすることとを含む。] [0019] 別の態様では、記憶装置においてキャッシュ記憶から主記憶へのデータの転送を管理するように配置されるコントローラを備える回路が開示される。コントローラは、キャッシュ記憶の使用可能容量を検出し、検出されたキャッシュ記憶の使用可能容量に基づいてホストコマンドに対するキャッシュクリアリングステップの比率を決定し、決定されたホストコマンドに対するキャッシュクリアリングステップの比率を達成するために、キャッシュクリアリングステップの実行をホストコマンドの実行とインタリーブするように構成される。キャッシュクリアリングステップの実行は、ホストコマンドを実行するのに充分な時間より長い期間、記憶装置で生成されホストコマンドによってトリガされるビジー状態を維持することと、この期間にキャッシュ記憶から主記憶にデータをコピーすることとを含む。] [0020] さらに別の態様によれば、回路は、記憶装置においてキャッシュ記憶から主記憶へのデータの転送を管理するように配置されるコントローラを備える。コントローラは、ホスト書き込みコマンドを受信した後にビジー状態を生成し、ホスト書き込みコマンドとともに受信されるデータをキャッシュ記憶に書き込んだ後で、ビジー状態を維持しながらキャッシュ記憶から主記憶へデータの少なくとも一部をコピーし、コピーが開始されるときに次の書き込みコマンドでホストからデータを受信するキャッシュ記憶に充分な使用可能な容量が存在するように構成される。] 図面の簡単な説明 [0021] 自己キャッシングメモリシステムを示すブロック図である。 図1のシステムの例示的な物理メモリ構成を示す図である。 図2の物理メモリの一部を示す拡大図である。 好適な実施形態による書き込みとキャッシュフラッシュとのバランス機構を実施するかどうかを決定する方法を示す流れ図である。 好適な実施形態によるホスト書き込みとキャッシュフラッシュとのバランス機構の一実施形態を示す流れ図である。] 図1 図2 実施例 [0022] 本発明の態様を実施するのに適したフラッシュメモリシステムが、図1に示される。ホストシステム10は、自己キャッシングフラッシュ記憶装置12内へデータを格納し、これからデータを取り出す。記憶装置12は、ホストに組み込まれても、あるいは、カードまたは機械的および電気的コネクタを介してホスト10に着脱可能に接続される他の着脱可能なドライブの形態で存在してもよい。ホスト10は、パーソナルコンピュータなどの多くのデータ生成装置のいずれかであってもよい。ホスト10は、通信チャネル14によって記憶装置と通信する。] 図1 [0023] 記憶装置12は、キャッシュ記憶16および主記憶18として配置される不揮発性メモリセルを含む。キャッシュ記憶16および主記憶18は、同じ種類のフラッシュメモリセルで異なるモードで動作するように構成されてもよく、または異なる種類のフラッシュメモリセルでもよい。例えば、キャッシュ記憶16は、シングルレベルセル(SLC)形のフラッシュ構成で構成されて、主記憶18は、マルチレベルセル(MLC)形のフラッシュメモリ構成で構成されてもよく、SLCフラッシュの速い書き込み速度とMLCフラッシュの高密度とをうまく利用できるようにしてもよい。キャッシュ記憶16および主記憶18には、フラッシュメモリの種類の異なる組み合わせも考えられる。記憶装置12は、プロセッサ20と、プロセッサ20を動作させる命令22と、論理ブロック対物理ブロック変換テーブル23とを含んでいてもよいコントローラ19も含む。本願明細書に記載されるキャッシュフラッシングポリシーを実施するのに適している適切な自己キャッシングフラッシュメモリ構成の例が、ともにその全体が本願明細書において参照により援用されている、Leeらの米国特許第5,930,167号(特許文献1)およびLasserらの米国特許出願第11/318,906号(特許文献2)に開示される。] [0024] 前述したキャッシュ記憶16および主記憶18は、メモリセルのブロックに配置される不揮発性フラッシュメモリであってもよい。メモリセルのブロックは、消去の単位、すなわち、物理的に同時に消去可能なメモリセルの最小数である。しかし、並列性を向上させるために、ブロックはさらに大きいメタブロック単位で動作されてもよい。メモリセルの各プレーンから1つのブロックを論理的に結合してメタブロックを形成してもよい。キャッシュ記憶16がSLC構成で主記憶18がMLC構成である記憶装置では、1つの主記憶ブロックに等しいデータ量を記憶するのに複数のキャッシュブロックが必要な場合もあるためメタブロック配置は有用である。図2を参照すると、代表的なフラッシュメモリセルアレイの概念図が示される。4つのプレーン、すなわちサブアレイ30、32、34および36のメモリセルは、単一の集積メモリセルチップ上、2つのチップ(各チップ上のプレーンのうちの2つのプレーン)上、または4つの個々のチップ上に存在してもよい。具体的な配置は以下の説明に重要ではなく、他の多くのプレーンがシステムに存在してもよい。プレーンは、各プレーン30、32、34および36に配置されるブロック38、40、42および44などの長方形で図2に示されるメモリセルのブロックに個別に分割される。各プレーンには数十または数百のブロックが存在してもよい。ブロックは論理的に結合されて、1つの単位として消去することもできるメタブロックを形成してもよい。例えば、ブロック38、40、42および44は、第1のメタブロック46を形成してもよい。メタブロックを形成するのに使用されるブロックは、ブロック50、52、54および56から成る第2のメタブロック48で示されるように、各プレーン内の同じ相対的位置に限定される必要はない。] 図2 [0025] 図3に示されるように、個々のブロックは、今度は動作上の目的でメモリセルのページに分割される。例えば、各ブロック38、40、42および44のメモリセルは、それぞれ8つのページP0〜P7に分割される。あるいは、各ブロック内で16個、32個またはそれ以上のページのメモリセルが存在してもよい。ページは、一度にプログラムされる(書き込まれる)または読み出される最小のデータ量を含むブロック内のデータプログラミング(書き込み)および読み出しの単位である。4つの各ブロック38、40、42および44について1つの物理ページで形成されるメタページ58が図3に示される。メタページ58は、4つの各ブロックにページP2を含むが、メタページのページは、必ずしも各ブロック内に同じ相対的位置を有する必要はない。メタページは、プログラミングの最大単位である。図2および図3に開示されるブロックは、前述した物理メモリセルのグループに関連するため、本願明細書では物理ブロックと称される。本願明細書で使用される論理ブロックは、物理ブロックと同じサイズを有するように定義されるアドレス空間の仮想単位である。各論理ブロックは、ホスト10から受信されるデータと関連する論理ブロックアドレス(LBA)の範囲を含む。このとき、LBAは、データが物理的に記憶される記憶装置12の1つ以上の物理ブロックにマップされる。動作中、記憶装置12のキャッシュ記憶16は、ホスト書き込みコマンドに関連するデータをホスト10から受信する。キャッシュ記憶16で受信されたデータは、ホストによって論理ブロックのアドレスでアドレス指定され、このデータがキャッシュ記憶16に記憶される場合、所与の論理ブロックのアドレスに関連するデータは、キャッシュ記憶16の単一の物理ブロックに記憶されても、あるいは、キャッシュ記憶16の複数の異なる物理ブロックにわたって分散されてもよい。プロセッサ20は、論理アドレスの物理アドレスへのマッピングを論理対物理マッピングテーブル23で追跡する。プロセッサ20は、現在のキャッシュ記憶容量を確認して、命令データベース22のプロセッサ実行可能命令に基づき本願明細書に記載されるホスト書き込みとキャッシュフラッシュとのバランス機構を開始するべきかどうかを判断する。現在のキャッシュ容量およびバランスアルゴリズムに基づいてキャッシュ記憶フラッシングが保証される場合、プロセッサは、論理ブロックのデータを確認して、特定の論理ブロックに対応するキャッシュ記憶16の1つ以上の物理ブロックに存在するデータの一部を主記憶18にコピーするかどうかを判断する。本願明細書に開示されるホスト書き込みとキャッシュフラッシュとのバランスアルゴリズムを組み込むように変更されてもよいフラッシュ管理システムの例を、ともにその全体が本願明細書において参照により援用されている、Banの米国特許第5,937,425号(特許文献3)およびLasserの米国特許第6,678,785号(特許文献4)で見出すこともできる。] 図2 図3 [0026] ホストをサポートするために提供される記憶装置12のリソースと、キャッシュ記憶16が満杯になり過ぎないようにするために割り当てられるリソースとの間のバランスをとるために、記憶装置12は、ホスト10に実際に提供することができるよりも低い性能を意図的に提供する、ホスト書き込みとキャッシュフラッシュとのバランスアルゴリズムを実施するように構成される。記憶装置は、フラッシング動作が必要ない場合でも、キャッシュ記憶をフラッシュするために「盗まれた(stolen)」時間を利用する。本願明細書で提供される例は、ホスト書き込みコマンドをキャッシュフラッシングとバランスさせることに焦点を合わせているが、ホスト読み出しコマンドまたは消去コマンドなどの他のホストコマンドについてもキャッシュクリアリングステップとインタリーブされてキャッシュ記憶の平衡を達成することもできると考えられる。] [0027] 図4に示されるように、キャッシュ記憶16が相対的に空いている場合には、記憶装置12は、ホスト10が最大のサポートを受けるとともに最大の性能(バースト書き込み性能)を認識するように、周知のキャッシュフラッシングポリシーを使用してもよい。ホスト10が装置にアクセスしておらず記憶装置が本来アイドル状態になる場合を除いて、データはキャッシュ記憶16からフラッシュされない(60、62)。しかし、キャッシュ記憶16が相対的に満杯な場合は、記憶装置12は、ホスト10へのサービスとキャッシュ記憶16へのサービスとの間に時間を割り当てるバランス機構を起動する(60、64)。限定されない例として、キャッシュは、満杯の半分を下回る場合は相対的に空いていると見なされ、満杯の半分かそれを上回る場合には相対的に満杯であると見なされてもよい。他のしきい値を使用してバランス機構を起動するトリガポイントを設定することもできる。] 図4 [0028] ホスト書き込みとキャッシュフラッシュとのバランス機構の1つの実施例のさらに詳細な例が、図5に示される。キャッシュ記憶の使用可能な容量が所望の容量よりも小さい(すなわち、前述したようにキャッシュ記憶16が相対的に満杯である)場合、プロセッサ20は、それぞれ2つの連続するホスト要求の間に挿入するキャッシュフラッシングステップの数を決定する(68、70)。限定される環境では、キャッシュ記憶16が満杯で、使用可能な容量が記憶装置12がキャッシュクリアリングステップを最初に実施しないで動作できる最小しきい値を下回るほどの場合には、キャッシュフラッシングステップとホスト書き込みステップとのバランスをとることは遅らせてもよい(66)。1つの限定されない例として、特定の記憶装置の最小しきい値が1%使用可能な容量であり、キャッシュの現在の使用可能な容量がこのしきい値を下回った場合、キャッシュクリアリングステップが実行されて使用可能容量がこの最小しきい値に少なくとも達するようになるまで、記憶装置はホスト書き込みステップとキャッシュフラッシングステップとのいかなるバランスをとることも遅らせてよい。] 図5 [0029] 一実施形態では、キャッシュフラッシングステップの数は、プロセッサ20がテーブルに格納されるホストコマンドに対して実行するキャッシュクリアリングステップの比率を調べることによって決定されてもよく、このテーブルは、様々な比率をキャッシュ記憶16の使用可能な容量の様々なトリガレベルに対応させている。次いで、キャッシュ記憶16の検出された使用可能容量に対応する比率はプロセッサ20によって使用されて、その比率に対応する連続するホストコマンド間でインタリーブされるキャッシュフラッシングステップの数をスケジュールしてもよい。例えば、比率が2であれば、プロセッサ20は各ホストコマンドに続いて2つのキャッシュフラッシングステップをスケジュールすることになる。キャッシュフラッシングの実行とホストコマンドの実行との間のバランスに対して高い分解能および微細な調整を可能にするために、この比率は非整数を含んでもよい。1つの例として、使用可能なキャッシュ記憶の特定のトリガレベルに対する比率は3.5であってもよい。このときプロセッサ20は、ホストコマンドに続いて3つのキャッシュフラッシングステップと、第2のホストコマンドに続いて4つのキャッシュフラッシングステップの繰り返しパターンをスケジュールして、実効比率である3.5を達成することになる。必要なキャッシュフラッシングの量が少ない場合のみ、この比率は1より小さくなってもよく、この場合、連続するホストコマンドが実行された後でキャッシュクリアリングステップがスケジュールされてもよい。] [0030] 代替の実施形態では、キャッシュ記憶の検出された使用可能容量に加えて他の1つ以上のパラメータを考慮して、ホスト書き込みコマンドに対するキャッシュフラッシングステップの比率を決定してもよい。記憶装置12の割り当てられるヒープメモリの現在の量などの記憶装置負荷パラメータを使用してもよい。比率の決定にこの追加のパラメータを考慮することによって次の比率が選択されるトリガポイントを変更してもよい。使用してもよい他の記憶装置負荷パラメータは、記憶装置12で実施される特定のフラッシュ管理アルゴリズムに固有のものであってもよい。このような他のパラメータは、フラッシュ管理アルゴリズムによって使用される特定のリストの長さ、特定のハッシュテーブルの使用スペースの量などを含んでいてもよい。] [0031] 再び図5を参照すると、ホストコマンドに対するキャッシュフラッシングステップの数を決定してスケジュールした後、プロセッサは、ホストコマンドの受信時に、記憶装置にビジー状態を設定することによってスケジュールを実施してもよい(72)。ホストコマンドが実施された後に、プロセッサは、ホストコマンド後に記憶装置12によって設定されるビジー状態の期間を延長する。ビジー状態の表示は、記憶装置12が設定してホスト10が認識する標準状態であって、ビジー状態が解除されるまで、ホスト10が追加のデータを送信しないようにするとともに、一般にホストがほとんどのコマンドを送信しないようにする標準状態である。一般に、記憶装置12は、ホストコマンドを受信した後にビジー状態を設定し、記憶装置12がコマンドを実行するのに必要なステップを完了するのにかかる期間だけビジー状態を維持する。バランス機構を実施する場合、プロセッサは、記憶装置が特定のコマンドを実行するのに必要な時間より長くビジー状態を維持し、スケジュールされた数のキャッシュフラッシングステップが実行されるまで期間を延長する(74)。装置のビジー状態の具体的な実施例は、その装置のプロトコルに依存している。例えば、記憶装置がNAND装置であるか、NAND装置プロトコルをエミュレートしている場合、ビジー状態は、ホスト10に記憶装置12がビジー状態か待機中かを知らせる、記憶装置12によって制御される個別の信号であってもよい。SDプロトコル装置では、記憶装置は、データの転送に使用される線の1つを制御することによってビジー状態であることを示す。ホスト10は、所定の時点でその線をサンプリングして、書き込まれる次のデータのバッチを送信可能かどうかを判断する。他のプロトコルは、他の方式を使用して本願明細書で説明されるビジー状態を提供してもよく、本願明細書に開示されるシステムおよび方法では、多くの種類のビジー状態表示のいずれを使用してもよい。] 図5 [0032] 各キャッシュフラッシングステップは、アドレスの論理ブロックを選択することと、特定の論理ブロックに関連するデータの少なくとも1つのページをキャッシュ記憶16から主記憶18内にコピーすることとから構成されてもよい。キャッシュフラッシングステップは、選択される論理ブロックに関連するデータの全ページ(すなわち、論理ブロック全体)をコピーすることから構成されてもよいが、選択される論理ブロックに関連する全データよりも少ないデータとなる単一のページまたはページのグループのほうが一般的なこともある。一連の別々のページコピー動作でコピーが実施されてもよいシステムの一例を、その全体が本願明細書において参照により援用されている、「Interruptible Cache Flushing in Flash Memory Systems」という2007年10月23日に出願された係属中の米国特許出願第11/876,893号(特許文献5)で見ることもできる。ビジー状態は決定された数のキャッシュフラッシングステップが完了される間維持され、その後ビジー状態が解除されてホストが別のコマンドを送信できるようになる。主記憶にコピーされる対応するデータを有する特定の論理ブロックをどれにするかの選択は、多くの基準のいずれに基づいてもよい。例えば、その選択は、どの論理ブロックがキャッシュ記憶16の物理ブロックに最も多くデータを有するか、あるいは、どの論理ブロックがキャッシュ記憶16の最も多くの物理ブロックにデータを有するかに基づいてもよい。] [0033] キャッシュ記憶16の使用可能な容量が最小容量より大きく所望の容量より小さいとして、ホスト書き込み要求に対するスケジュールされたキャッシュクリアリングステップの決定された比率がN1であると仮定すると、ホストから見た平均性能はW1(メガバイト/秒で測定)となる。キャッシュクリアリングステップを実行する時間中、記憶装置12はビジー状態表示を維持する。具体的には、ホストが書き込み要求を送信した後で記憶装置はビジー状態を開始するが、さらに挿入されるキャッシュクリアリングステップに必要な時間だけそれを維持する。ビジー状態を維持する追加の時間によってホスト10は速度が低下し、記憶装置12に送信されるデータの速度が低下してしまう。しかし、この段階では、低下した速度は依然として連続書き込み性能規格を上回ることもできることに留意するべきである。] [0034] バランス機構を開始した後、記憶装置12のプロセッサ20は、キャッシュの状態をモニタし続ける。ホストコマンドに対するキャッシュクリアリングステップの現在の比率が、キャッシュ記憶16にこれ以上満たされるのを止めさせたことが分かる場合もあるが、キャッシュ記憶16は満たされ続けることもある。これが発生すると、第2のトリガポイントに達する。例えば、50%満たされたキャッシュの初期状態がバランス機構をトリガした場合には、60%満たされたキャッシュの状態が第2のトリガポイントであってもよい。記憶装置がこの条件を検出する場合には、さらに積極的なポリシーが採用されてもよい。N2>N1のとき、各ホスト要求毎にN1キャッシュクリアリングステップの比率をスケジュールする代わりに、N2ステップの比率がスケジュールされる。W2<W1のとき、ホストから見た実効連続書き込み性能はW2まで低下する。このようなさらに低下した性能モードは、キャッシュが満たされるのを止めるか、あるいはまだ充分でないこともある平衡でシステムをバランスさせるのに充分なこともあり、このような場合には、対応するさらに低下したホスト性能値を有するこの追加のトリガポイントが起動される。最終的には、ホストがある平均速度でサービスされると同時にキャッシュがこれ以上満たされない平衡に達する。] [0035] 単一のトリガポイントを使用して不充分な形態のホスト書き込みとキャッシュフラッシュとのバランスを達成しようとすることは可能であるが、記憶装置の実際の性能は、ホスト10のアクセスパターンに依存しているため、複数のトリガポイントを使用するのが好ましい。一般に、記憶装置の公示される連続書き込み性能は、連続的なアドレスへのホスト書き込みデータに関しては正しい。ホスト10がランダムなアドレスにデータを書き込む場合は、連続書き込み性能は一般にもっと低い。アクセスパターンがランダムなほど、実効性能は低下する。この効果は、ランダムなアドレスパターンを処理する場合にフラッシュ管理アルゴリズムの効率が相対的に悪くなるためである。このため、キャッシュを平衡にするための適切なバランス用比率は予測することができない可能性があり、一般に、平衡に達するまでホストのサービス性能を連続的に低下させるために一連のトリガ条件が必要である。さらに、ランダムなアドレスパターンにおいて、平衡ポイントは、公示される連続書き込み性能よりさらに低い(ホストから見た)平均連続書き込み性能となることもある。] [0036] 再び図5を参照すると、ホストが新しいデータを生成する際に速度が低下し始めると、逆のプロセスが発生する。キャッシュ記憶16が空になるときに、キャッシュの使用可能な容量が小さくなるにつれてプロセッサ20が適用するホストコマンドに対するキャッシュクリアリングステップの比率を上げるようにしたのと同じトリガレベルを、キャッシュが空になり使用可能な容量が増加してキャッシュクリアリングプロセスに関与するリソースが少なくなるにつれて逆の順序で適用してもよい。代替の実施形態では、キャッシュが満たされている場合に徐々に増加する比率を適用するトリガは、キャッシュが空になるときに同じかまたは異なる比率を適用するトリガと異なってもよい。例えば、キャッシュが満たされている場合に第1の比率から第2の比率に変更するトリガは、キャッシュが60%満たされた場合であってもよいが、キャッシュが空になっている場合に第2の比率から再び第1の比率に切り換えるトリガポイントは、キャッシュ記憶が55%満たされる場合に設定されてもよい。このようにして、ヒステリシスのような効果がトリガ条件に提供され、2つのスケジュールモードの間を高頻度で切り換わることを避けることができる。最終的に、キャッシュ記憶16は相対的に空き状態、例えば、50%未満で満たされた状態に達し、記憶装置12は、ホスト要求を最大限に優先する初期モード(バースト書き込み性能)に戻る。] 図5 [0037] データ書き込み性能をかなり犠牲にしてキャッシュの平衡を維持し、タイムアウト期間が長引くような事例を避けるホスト書き込み動作とキャッシュフラッシングとのバランス機構を実施する方法およびシステムが開示された。この方法は、自己キャッシング記憶装置のキャッシュ記憶部の使用可能な容量を決定し、使用可能な容量が所望のしきい値よりも小さい場合にホスト書き込みコマンドに対するキャッシュフラッシングステップの比率を決定し、その比率を達成するためにキャッシュフラッシングステップとホストコマンドとをインタリーブすることによって、ホストコマンドの実行のバランスをとる。キャッシュフラッシングステップは、ホスト書き込みコマンドを実行した後に記憶装置ビジー状態を維持し、この追加の時間を利用してキャッシュ記憶から主記憶へデータの一部をコピーすることによって実行されてもよい。この方法によってホストに提供される性能は低下するが、以前としてかなり高く、可能性として公示される連続速度よりもさらに高くすることもできる。]
权利要求:
請求項1 書き込みコマンドで外部ホストから受信される受信データが、最初にキャッシュ記憶に記憶された後で主記憶に移動される、記憶装置における前記キャッシュ記憶から前記主記憶へのデータの移動を管理する方法であって、前記記憶装置で前記ホストから書き込みコマンドを受信するステップと、前記書き込みコマンドとともに受信されるデータを前記キャッシュ記憶に記憶するステップと、前記書き込みコマンドを受信した後に前記記憶装置でビシー状態を生成するステップと、前記データを前記キャッシュ記憶に記憶するステップに続いて、前記ビジー状態を維持しながらデータの少なくとも一部を前記キャッシュ記憶から前記主記憶にコピーするステップであって、前記コピーするステップが開始されるときに次の書き込みコマンドで前記ホストからデータを受信する前記キャッシュに充分な使用可能な容量が存在するようにしたコピーするステップと、を含む方法。 請求項2 請求項1記載の方法において、前記データの少なくとも一部を前記キャッシュ記憶から前記主記憶にコピーするステップが、前記キャッシュ記憶の使用可能な容量が所望のしきい値よりも小さい場合に前記キャッシュ記憶からデータの少なくとも一部をコピーするステップを含む方法。 請求項3 請求項2記載の方法において、前記所望のしきい値は、前記キャッシュ記憶の50%使用可能な容量である方法。 請求項4 請求項1記載の方法において、前記データの少なくとも一部を前記キャッシュ記憶から前記主記憶にコピーするステップが、選択可能な数のキャッシュクリアリングステップを実行するステップを含み、各キャッシュクリアリングステップが、前記キャッシュ記憶の少なくとも1つのページから前記主記憶へデータをコピーする方法。 請求項5 請求項4記載の方法において、少なくとも前記キャッシュ記憶の使用可能な容量に部分的に基づいて、前記選択可能な数を決定するステップをさらに含む方法。 請求項6 外部ホストからの受信データが、最初にキャッシュ記憶に記憶された後で主記憶に移動される、記憶装置における前記キャッシュ記憶から前記主記憶へのデータの移動を管理する方法であって、キャッシュ記憶の使用可能な容量を検出するステップと、前記検出された使用可能な容量に基づいてホストコマンドに対するキャッシュクリアリングステップの比率を決定するステップと、前記決定されたホストコマンドに対するキャッシュクリアリングステップの比率を達成するために、キャッシュクリアリングステップの実行をホストコマンドの実行とインタリーブするステップであって、前記キャッシュクリアリングステップの実行が、ホストコマンドを実行するのに充分な時間より長い期間、前記記憶装置で生成され前記ホストコマンドによってトリガされるビジー状態を維持するステップと、前記期間に前記キャッシュ記憶から前記主記憶にデータの少なくとも一部をコピーするステップとを含むようにしたインタリーブするステップと、を含む方法。 請求項7 請求項6記載の方法において、前記比率が、非整数の比率を含む方法。 請求項8 請求項6記載の方法において、前記ホストコマンドが、ホスト書き込みコマンドを含む方法。 請求項9 請求項6記載の方法において、前記ホストコマンドが、ホスト読み出しコマンドを含む方法。 請求項10 請求項6記載の方法において、前記ホストコマンドが、ホスト消去コマンドを含む方法。 請求項11 請求項6記載の方法において、前記ホストコマンドに対するキャッシュクリアリングステップの比率を決定するステップが、前記検出された使用可能な容量に加えて、少なくとも1つの追加のパラメータに基づく方法。 請求項12 請求項11記載の方法において、前記少なくとも1つの追加のパラメータが、記憶装置負荷パラメータを含む方法。 請求項13 請求項12記載の方法において、前記記憶装置負荷パラメータが、割り当てられるヒープメモリの現在の量を含む方法。 請求項14 請求項6記載の方法において、前記ホストコマンドに対するキャッシュクリアリングステップの比率を決定するステップと、前記検出された使用可能な容量が所望のしきい値容量よりも小さい場合に、キャッシュクリアリングステップの実行をホストコマンドの実行とインタリーブするステップと、のみをさらに含む方法。 請求項15 請求項6記載の方法において、前記ホストコマンドに対するキャッシュクリアリングステップの比率を決定するステップと、前記検出された使用可能な容量がホストからデータを受信する最小容量よりも大きく所望のしきい値容量よりも小さい場合に、キャッシュクリアリングステップの実行をホストコマンドの実行とインタリーブするステップと、のみをさらに含む方法。 請求項16 記憶装置であって、ホスト書き込みコマンドに関連するデータを受信するように構成されるキャッシュ記憶と、前記キャッシュ記憶と通信し前記キャッシュ記憶から転送されるデータを受信するように構成される主記憶と、前記キャッシュ記憶から前記主記憶へのデータの転送を管理するように配置されるコントローラであって、ホスト書き込みコマンドを受信した後にビジー状態を生成し、前記ホスト書き込みコマンドとともに受信される前記データを前記キャッシュ記憶に書き込んだ後で、前記ビジー状態を維持しながら前記キャッシュ記憶から前記主記憶へデータの少なくとも一部をコピーし、コピーが開始されるときに次の書き込みコマンドで前記ホストからデータを受信する前記キャッシュ記憶に充分な使用可能な容量が存在するように構成されるコントローラと、を備える記憶装置。 請求項17 請求項16記載の記憶装置において、前記コントローラが、前記キャッシュ記憶の使用可能な容量が所望のしきい値より小さい場合に、前記ホスト書き込みコマンドとともに受信される前記データを書き込んだ後に前記ビジー状態を維持するように構成される記憶装置。 請求項18 請求項17記載の記憶装置において、前記所望のしきい値は、前記キャッシュ記憶の50%使用可能な容量である記憶装置。 請求項19 請求項16記載の記憶装置において、前記キャッシュ記憶はシングルレベルセル不揮発性メモリであり、前記主記憶はマルチレベルセル不揮発性メモリである記憶装置。 請求項20 記憶装置であって、データをホストから受信するように構成されるキャッシュ記憶と、前記キャッシュ記憶と通信し前記キャッシュ記憶から転送されるデータを受信するように構成される主記憶と、前記キャッシュ記憶から前記主記憶へのデータの転送を管理するように配置されるコントローラであって、前記キャッシュ記憶の使用可能な容量を検出し、前記キャッシュ記憶の前記検出された使用可能な容量に基づいてホストコマンドに対するキャッシュクリアリングステップの比率を決定し、前記決定されたホストコマンドに対するキャッシュクリアリングステップの比率を達成するために、キャッシュクリアリングステップの実行をホストコマンドの実行とインタリーブし、前記キャッシュクリアリングステップの実行は、ホストコマンドを実行するのに充分な時間より長い期間、前記記憶装置で生成され前記ホストコマンドによってトリガされるビジー状態を維持することと、前記期間に前記キャッシュ記憶から前記主記憶にデータをコピーすることとを含むように構成されるコントローラと、を備える記憶装置。 請求項21 請求項20記載の記憶装置において、前記コントローラが、前記検出された使用可能な容量に加えて、少なくとも1つの追加のパラメータに基づいて前記ホストコマンドに対するキャッシュクリアリングステップの比率を決定するように構成される記憶装置。 請求項22 請求項21記載の記憶装置において、前記少なくとも1つの追加のパラメータが、記憶装置負荷パラメータを含む記憶装置。 請求項23 請求項22記載の記憶装置において、前記記憶装置負荷パラメータが、割り当てられるヒープメモリの現在の量を含む記憶装置。 請求項24 請求項20記載の記憶装置において、前記ホストコマンドが、ホスト書き込みコマンドを含み、前記ホスト書き込みコマンドのうちの1つを実行するのに充分な時間が、前記ホスト書き込みコマンドに関連するデータを前記キャッシュ記憶に書き込む期間を含む記憶装置。 請求項25 請求項20記載の記憶装置において、前記コントローラが、選択可能な数のキャッシュクリアリングステップを実行するように構成され、各キャッシュクリアリングステップが、前記キャッシュ記憶の少なくとも1つのページから前記主記憶へデータをコピーすることを含む記憶装置。 請求項26 請求項25記載の記憶装置において、前記コントローラが、少なくとも前記キャッシュ記憶の使用可能容量に部分的に基づいて、前記選択可能な数を決定するようにさらに構成される記憶装置。 請求項27 請求項20記載の記憶装置において、前記コントローラが、前記ホストコマンドに対するキャッシュクリアリングステップの比率を決定し、前記検出された使用可能な容量が所望のしきい値容量よりも小さい場合に、キャッシュクリアリングステップの実行をホストコマンドの実行とインタリーブするようにのみさらに構成される記憶装置。 請求項28 請求項20記載の記憶装置において、前記コントローラが、前記ホストコマンドに対するキャッシュクリアリングステップの比率を決定し、前記検出された使用可能な容量が前記ホストからデータを受信する最小容量よりも大きく所望のしきい値容量よりも小さい場合に、キャッシュクリアリングステップの実行をホストコマンドの実行とインタリーブするようにのみさらに構成される記憶装置。 請求項29 回路であって、記憶装置においてキャッシュ記憶から主記憶へのデータの転送を管理するように配置されるコントローラであって、ホスト書き込みコマンドを受信した後にビジー状態を生成し、前記ホスト書き込みコマンドとともに受信される前記データを前記キャッシュ記憶に書き込んだ後で、前記ビジー状態を維持しながら前記キャッシュ記憶から前記主記憶へデータの少なくとも一部をコピーし、コピーが開始されるときに次の書き込みコマンドでホストからデータを受信する前記キャッシュ記憶に充分な使用可能な容量が存在するように構成されるコントローラを備える回路。
类似技术:
公开号 | 公开日 | 专利标题 US10754769B2|2020-08-25|Memory system having persistent garbage collection US9996457B2|2018-06-12|Efficient buffering for a system having non-volatile memory US20200278926A1|2020-09-03|User device including a nonvolatile memory device and a data write method thereof AU2013345301B2|2019-06-13|Methods and devices for avoiding lower page corruption in data storage devices US10209902B1|2019-02-19|Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data US9244617B2|2016-01-26|Scheduling requests in a solid state memory device US9817755B2|2017-11-14|Garbage collection management in memories US9208079B2|2015-12-08|Solid state memory |, computer system including an SSM, and method of operating an SSM US9390004B2|2016-07-12|Hybrid memory management JP5674999B2|2015-02-25|Slc/mlc混成メモリのブロック管理構成 KR101861170B1|2018-05-25|마이그레이션 관리자를 포함하는 메모리 시스템 US9430376B2|2016-08-30|Priority-based garbage collection for data storage systems US9710376B2|2017-07-18|Wear leveling for a memory device US8069302B2|2011-11-29|Flash memory storage system and method JP5438137B2|2014-03-12|データラン・プログラミング TWI457756B|2014-10-21|記憶體系統及其操作方法 US8032724B1|2011-10-04|Demand-driven opportunistic garbage collection in memory components JP5069256B2|2012-11-07|不揮発性メモリおよびマルチストリーム更新追跡を伴う方法 US8271737B2|2012-09-18|Cache auto-flush in a solid state memory device US8918580B2|2014-12-23|Storage device with buffer memory including non-volatile RAM and volatile RAM KR101739556B1|2017-05-24|데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법 CN101504629B|2012-04-11|闪速存储器控制器高速缓存架构 JP5529275B2|2014-06-25|物理nandフラッシュ・メモリ論理ユニット及び制御回路を動作させるための方法 KR101040961B1|2011-06-16|온-칩 비휘발성 메모리 기록 캐쉬를 사용하기 위한 시스템및 방법 JP4814995B2|2011-11-16|読み出し操作中にデータラッチでバックグラウンドキャッシングを行う不揮発性メモリとその方法
同族专利:
公开号 | 公开日 TWI421877B|2014-01-01| US20090172286A1|2009-07-02| KR101563875B1|2015-10-28| KR20100107456A|2010-10-05| JP5443384B2|2014-03-19| EP2227740A4|2011-11-16| EP2227740A2|2010-09-15| WO2009088626A3|2009-10-01| TW200937424A|2009-09-01| WO2009088626A2|2009-07-16| US7865658B2|2011-01-04| EP2227740B1|2018-01-24|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JPH09297710A|1996-05-01|1997-11-18|Nec Corp|記憶システム| JP2002521749A|1998-07-24|2002-07-16|サン・マイクロシステムズ・インコーポレーテッド|コンピュータ・システムにおける決定論的メモリ割り当て応答の達成方法および装置| JPH11288387A|1998-12-11|1999-10-19|Fujitsu Ltd|ディスクキャッシュ装置| JP2001135017A|1999-11-02|2001-05-18|Nec Corp|データ記憶装置及びデータ記憶装置用インタフェース装置| WO2007029259A2|2005-09-09|2007-03-15|Sandisk Il Ltd.|Front memory storage system and method| US20070283081A1|2006-06-06|2007-12-06|Msystem Ltd.|Cache control in a non-volatile memory device|JP2017527887A|2014-08-15|2017-09-21|マイクロソフト テクノロジー ライセンシング,エルエルシー|ファイルシステムにおけるフラッシング|US5636355A|1993-06-30|1997-06-03|Digital Equipment Corporation|Disk cache management techniques using non-volatile storage| US6412045B1|1995-05-23|2002-06-25|Lsi Logic Corporation|Method for transferring data from a host computer to a storage media using selectable caching strategies| US5895488A|1997-02-24|1999-04-20|Eccs, Inc.|Cache flushing methods and apparatus| US5883904A|1997-04-14|1999-03-16|International Business Machines Corporation|Method for recoverability via redundant cache arrays| US5930167A|1997-07-30|1999-07-27|Sandisk Corporation|Multi-state non-volatile flash memory capable of being its own two state write cache| US5937425A|1997-10-16|1999-08-10|M-Systems Flash Disk Pioneers Ltd.|Flash file system optimized for page-mode flash technologies| US6658532B1|1999-12-15|2003-12-02|Intel Corporation|Cache flushing| US6678785B2|2001-09-28|2004-01-13|M-Systems Flash Disk Pioneers Ltd.|Flash management system using only sequential write| US6976128B1|2002-09-26|2005-12-13|Unisys Corporation|Cache flush system and method| US7076605B1|2003-04-25|2006-07-11|Network Appliance, Inc.|Method and apparatus for writing data to a storage device| US7085895B2|2003-09-05|2006-08-01|International Business Machines Corporation|Apparatus, system, and method flushing data from a cache to secondary storage| US7356651B2|2004-01-30|2008-04-08|Piurata Technologies, Llc|Data-aware cache state machine| JP4402997B2|2004-03-26|2010-01-20|株式会社日立製作所|ストレージ装置| US7444478B2|2005-11-18|2008-10-28|International Business Machines Corporation|Priority scheme for transmitting blocks of data| US7395377B2|2006-04-20|2008-07-01|International Business Machines Corporation|Method and system for adaptive back-off and advance for non-volatile storage occupancy level management| US8200904B2|2007-12-12|2012-06-12|Sandisk Il Ltd.|System and method for clearing data from a cache|US8200904B2|2007-12-12|2012-06-12|Sandisk Il Ltd.|System and method for clearing data from a cache| JP5221332B2|2008-12-27|2013-06-26|株式会社東芝|メモリシステム| US20100169540A1|2008-12-30|2010-07-01|Sinclair Alan W|Method and apparatus for relocating selected data between flash partitions in a memory device| US8261009B2|2008-12-30|2012-09-04|Sandisk Il Ltd.|Method and apparatus for retroactive adaptation of data location| US8838903B2|2010-02-04|2014-09-16|Dataram, Inc.|Priority ordered multi-medium solid-state storage system and methods for use| US8239617B1|2010-02-12|2012-08-07|Emc Corporation|Enterprise data storage system using multi-level cell flash memory| US8402226B1|2010-06-18|2013-03-19|Emc Corporation|Rate proportional cache write-back in a storage server| JP2012141946A|2010-12-16|2012-07-26|Toshiba Corp|半導体記憶装置| KR20120088454A|2011-01-31|2012-08-08|에스케이하이닉스 주식회사|비휘발성 메모리 시스템 및 비휘발성 메모리 장치와, 이를 위한 프로그램 방법| US20130067168A1|2011-09-09|2013-03-14|Microsoft Corporation|Caching for a file system| US8856443B2|2012-03-12|2014-10-07|Infinidat Ltd.|Avoiding duplication of data units in a cache memory of a storage system| US9606730B2|2012-05-04|2017-03-28|Samsung Electronics Co., Ltd.|System and method including three dimensional nonvolatile memory device and random access memory| CN103514111A|2012-06-21|2014-01-15|华为技术有限公司|一种Cache的替换方法及装置| KR102024850B1|2012-08-08|2019-11-05|삼성전자주식회사|3차원 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법| US9112922B2|2012-08-28|2015-08-18|Vantrix Corporation|Method and system for self-tuning cache management| US9740485B2|2012-10-26|2017-08-22|Micron Technology, Inc.|Apparatuses and methods for memory operations having variable latencies| US9754648B2|2012-10-26|2017-09-05|Micron Technology, Inc.|Apparatuses and methods for memory operations having variable latencies| US9280482B2|2012-12-13|2016-03-08|Western Digital Technologies, Inc.|Methods and systems for provisioning a bootable image on to an external drive| US9141531B1|2012-12-14|2015-09-22|Western Digital Technologies, Inc.|Data flush from cache to disk based on track limit| US9465731B2|2012-12-31|2016-10-11|Sandisk Technologies Llc|Multi-layer non-volatile memory system having multiple partitions in a layer| US9734050B2|2012-12-31|2017-08-15|Sandisk Technologies Llc|Method and system for managing background operations in a multi-layer memory| US9734911B2|2012-12-31|2017-08-15|Sandisk Technologies Llc|Method and system for asynchronous die operations in a non-volatile memory| US9336133B2|2012-12-31|2016-05-10|Sandisk Technologies Inc.|Method and system for managing program cycles including maintenance programming operations in a multi-layer memory| US8873284B2|2012-12-31|2014-10-28|Sandisk Technologies Inc.|Method and system for program scheduling in a multi-layer memory| US9348746B2|2012-12-31|2016-05-24|Sandisk Technologies|Method and system for managing block reclaim operations in a multi-layer memory| US9223693B2|2012-12-31|2015-12-29|Sandisk Technologies Inc.|Memory system having an unequal number of memory die on different control channels| US9542306B2|2013-03-13|2017-01-10|Seagate Technology Llc|Dynamic storage device provisioning| US9727453B2|2013-03-14|2017-08-08|Sandisk Technologies Llc|Multi-level table deltas| US9734097B2|2013-03-15|2017-08-15|Micron Technology, Inc.|Apparatuses and methods for variable latency memory operations| CN105190569A|2013-06-25|2015-12-23|惠普发展公司,有限责任合伙企业|从缓存存储器清除脏数据| US9563565B2|2013-08-14|2017-02-07|Micron Technology, Inc.|Apparatuses and methods for providing data from a buffer| US9727493B2|2013-08-14|2017-08-08|Micron Technology, Inc.|Apparatuses and methods for providing data to a configurable storage area| US9170943B2|2013-08-29|2015-10-27|Globalfoundries U.S. 2 Llc|Selectively enabling write caching in a storage system based on performance metrics| US9824004B2|2013-10-04|2017-11-21|Micron Technology, Inc.|Methods and apparatuses for requesting ready status information from a memory| US10108372B2|2014-01-27|2018-10-23|Micron Technology, Inc.|Methods and apparatuses for executing a plurality of queued tasks in a memory| US10365835B2|2014-05-28|2019-07-30|Micron Technology, Inc.|Apparatuses and methods for performing write count threshold wear leveling operations| US9720837B2|2014-06-27|2017-08-01|International Business Machines Corporation|Allowing non-cacheable loads within a transaction| US10127157B2|2014-10-06|2018-11-13|SK Hynix Inc.|Sizing a cache while taking into account a total bytes written requirement| US9940259B2|2015-01-16|2018-04-10|International Business Machines Corporation|Virtual disk alignment access| US10120613B2|2015-10-30|2018-11-06|Sandisk Technologies Llc|System and method for rescheduling host and maintenance operations in a non-volatile memory| US9778855B2|2015-10-30|2017-10-03|Sandisk Technologies Llc|System and method for precision interleaving of data writes in a non-volatile memory| US10133490B2|2015-10-30|2018-11-20|Sandisk Technologies Llc|System and method for managing extended maintenance scheduling in a non-volatile memory| US10042553B2|2015-10-30|2018-08-07|Sandisk Technologies Llc|Method and system for programming a multi-layer non-volatile memory having a single fold data path| TWI598733B|2016-01-12|2017-09-11|瑞昱半導體股份有限公司|權重式資料搬遷控制裝置與方法| US20170212711A1|2016-01-21|2017-07-27|Kabushiki Kaisha Toshiba|Disk apparatus and control method| US10359955B2|2017-02-23|2019-07-23|Western Digital Technologies, Inc.|Data storage device configured to perform a non-blocking control update operation| US10372351B2|2017-02-23|2019-08-06|Western Digital Technologies, Inc.|Techniques for non-blocking control information and data synchronization by a data storage device| TWI645286B|2017-08-31|2018-12-21|慧榮科技股份有限公司|記憶體控制裝置和方法| US20190384713A1|2018-06-19|2019-12-19|Western Digital Technologies, Inc.|Balanced caching| US10782916B2|2018-08-08|2020-09-22|Micron Technology, Inc.|Proactive return of write credits in a memory system|
法律状态:
2011-11-30| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111129 | 2013-07-11| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130711 | 2013-07-24| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130723 | 2013-11-18| TRDD| Decision of grant or rejection written| 2013-11-27| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131126 | 2013-12-26| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131219 | 2013-12-27| R150| Certificate of patent or registration of utility model|Ref document number: 5443384 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 | 2016-12-06| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2017-12-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2018-12-04| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2019-11-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2020-11-13| S533| Written request for registration of change of name|Free format text: JAPANESE INTERMEDIATE CODE: R313533 | 2020-11-30| R350| Written notification of registration of transfer|Free format text: JAPANESE INTERMEDIATE CODE: R350 | 2020-12-02| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2021-11-30| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|